#include "interface.h"
#include "SD_Manage_Itrfc.h"
#include "SD_Login_Itrfc.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <string.h>

/* 函数功能：点击按钮“登录“的动作
 * 入口参数：
 * 出口参数：无
 * 返 回 值 ：int
 *         SUCCESS  函数成功执行
 *         FAILURE  函数执行出错
 * 创建日期：2009年7月8号
 * 创 建 人 ：马小艳
 * 更新历史：暂无
 */
gint on_SDLogin_clicked(GtkWidget *widegt, gpointer data)
{
    GtkWidget *entry_username;
    GtkWidget *entry_password;
    GtkWidget *entry_vrfyword;
    GtkWidget *entry_sever;
    /* GtkWidget *text_view; */
    /* GtkTextBuffer *text_buffer; */
    
    const gchar *username = NULL;
    const gchar *password = NULL;
    const gchar *vrfyword = NULL;
    const gchar *sever = NULL;
    
    int argc = 0;
    char ** argv = NULL;
        
    /* text_view = glade_xml_get_widget(windowSDLogin, "textview1"); */
    /* text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view)); */

    entry_username = glade_xml_get_widget(windowSDLogin, "entry1");
    entry_password = glade_xml_get_widget(windowSDLogin, "entry2");
    entry_vrfyword = glade_xml_get_widget(windowSDLogin, "entry3");
    entry_sever = glade_xml_get_widget(windowSDLogin, "entry4");
        
    username = gtk_entry_get_text(GTK_ENTRY(entry_username));
    password = gtk_entry_get_text(GTK_ENTRY(entry_password));
	vrfyword = gtk_entry_get_text(GTK_ENTRY(entry_vrfyword));
	sever = gtk_entry_get_text(GTK_ENTRY(entry_sever));
	
	if ((strlen(username) == 0)  || (strlen(password) == 0) || (strlen(vrfyword) == 0) || (strlen(sever) == 0))
    {
        showDialog(NULL,
                   GTK_DIALOG_DESTROY_WITH_PARENT,
                   GTK_MESSAGE_ERROR,
                   GTK_BUTTONS_CLOSE,
                   "用户名，密码,验证码和服务器地址都不能为空!\n  " );
	    return FAILURE;
    }
	
	
    /*
     * if(用户名，密码，验证码，服务器地址不匹配)
     * showDialog(...., "用户名，密码，验证码或服务器地址不匹配，请重新输入!\n", -1);		
     * return FAILURE;
     */
    
    /* 设置进度条 */
    pbar = glade_xml_get_widget(windowSDLogin, "progressbar1");
        
    gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(pbar), GTK_PROGRESS_LEFT_TO_RIGHT);
   
    if (ACTIVITY_MODE) 
        gtk_progress_bar_pulse (GTK_PROGRESS_BAR (pbar));
     
    
    Pb.step = 0.1;
    Pb.pb = GTK_PROGRESS_BAR (pbar);

    gtk_timeout_add(100, progress_timeout, &Pb); 
	
	
    /* TODO 远程证明 */   
    
    /* 弹出敏感数据库管理界面 */
    call(&windowSDManage, argc, argv, "07 SD_Manage_Itrfc.glade", LOCAL_SECRET_DATA_TREE); 
    
    return SUCCESS;
}

/* 函数功能：点击按钮“取消“的动作
 * 入口参数：
 * 出口参数：无
 * 返 回 值 ：int
 *         SUCCESS  函数成功执行
 *         FAILURE  函数执行出错
 * 创建日期：2009年7月8号
 * 创 建 人 ：马小艳
 * 更新历史：暂无
 */
gint on_SDExit_clicked(GtkWidget *widegt, gpointer data)
{
	/* 销毁窗口 */
    GtkWidget *win = NULL;
    win = glade_xml_get_widget( windowSDLogin, "window1" );
    gtk_widget_destroy( win );
    
    gtk_main_quit();
	
    return SUCCESS;
}
